/**
 * Created by  on 2016/11/3.
 */
app.controller("homeCtrl", function($scope, toaster, $timeout, $http, $localStorage){
        $scope.weatherType = wtSys.Emun.weatherType; //设施状态
        var today = moment().format('YYYY-MM-DD');
        var yesterday = moment().subtract(1, 'days').format('YYYY-MM-DD');
        var oneWeekAgo = moment().subtract(7, 'days').format('YYYY-MM-DD');
        $scope.queryParam = {
            beginDate : oneWeekAgo,
            endDate : today
        };
        //巡查达标率
        $scope.charInit = function(container){

            var dom = document.getElementById(container);
            $scope.myChart = echarts.init(dom);
            option = null;
            $scope.setInspectionRate();

        };

        $scope.setInspectionRate = function(){
            var url = CONFIG.basePathUrl + '/v2/inspection/Standard/';
            //起止时间
            var params = $scope.queryParam;

            $http({
                url : url,
                params : params,
                method : 'GET'
            }).success(function(data){
                var arr = data.data; //
                $scope.myChart.setOption(option = {
                    title : {
                        text : '巡查达标率(%)',
                        x : 'center',
                        top : "5%",
                        textStyle : {
                            fontWeight : 'normal',
                        },
                    },
                    tooltip : {
                        trigger : 'axis'
                    },
                    xAxis : {
                        data : arr.map(function(item){
                            return item["StartAt"];
                        })
                    },
                    yAxis : {
                        max:100,
                        min:0,
                        splitLine : {
                            show : false
                        }
                    },
                    dataZoom : [{
                        startValue : '2014-06-01'
                    }, {
                        type : 'inside'
                    }],
                    itemStyle : {
                        normal : {
                            color : "#c31610"
                        }
                    },
                    symbolSize : 10,
                    series : {
                        name : '巡查达标率(%)',
                        type : 'line',
                        areaStyle : {normal : {color : "rgb(254,224,224)"}},
                        markLine : {
                            silent : true,
                            lineStyle : {normal : {color : "#333"}},
                            data : [{
                                yAxis : 20
                            }, {
                                yAxis : 40
                            }, {
                                yAxis : 60
                            }, {
                                yAxis : 80

                            }]
                        },
                        data : arr.map(function(item){
                            return item["Percentage"];
                        })
                    }
                });
            }).error(function(data, header, config, status){
                //处理响应失败
            });
            //绘制数据


        };
        $scope.inspectionOption = {
            title : {
                text : '巡查',
                x : 'center',
                top : "5%",
                textStyle : {
                    fontWeight : 'normal',
                },
            },
            tooltip : {
                trigger : 'item',
                formatter : "{a} <br/>{b} : {c} ({d}%)"
            },
            legend : {
                orient : 'vertical',
                right : "3%",
                y : 'top',
                data : ['一般', '重要']
            },
            series : [{
                name : '任务数',
                type : 'pie',
                radius : ['40%', '60%'],
                center : ['50%', '62%'],
                avoidLabelOverlap : false,
                label : {
                    normal : {
                        show : false,
                        position : 'center'
                    },
                    emphasis : {
                        show : true,
                        textStyle : {
                            fontSize : '30',
                            fontWeight : 'bold'
                        }
                    }
                },
                labelLine : {
                    normal : {
                        show : false
                    }
                },
                data : [
                    {value : 20, name : '一般'},
                    {value : 34, name : '重要'}
                ],
            }],
            color : ['#70c27f', '#2ea2d1'],
            textStyle : {
                fontSize : 13
            }
        }; //巡查
        $scope.servicingOption = {
            title : {
                text : '维护',
                x : 'center',
                top : "5%",
                textStyle : {
                    fontWeight : 'normal',
                },
            },
            tooltip : {
                trigger : 'item',
                formatter : "{a} <br/>{b} : {c} ({d}%)"
            },
            legend : {
                orient : 'vertical',
                right : "3%",
                y : 'top',
                data : ['一般', '重要', '紧急']
            },
            series : [{
                name : '任务数',
                type : 'pie',
                radius : ['40%', '60%'],
                center : ['50%', '62%'],
                avoidLabelOverlap : false,
                label : {
                    normal : {
                        show : false,
                        position : 'center'
                    },
                    emphasis : {
                        show : true,
                        textStyle : {
                            fontSize : '30',
                            fontWeight : 'bold'
                        }
                    }
                },
                labelLine : {
                    normal : {
                        show : false
                    }
                },
                data : [
                    {value : 53, name : '一般'},
                    {value : 1, name : '重要'},
                    {value : 1, name : '紧急'}
                ],
            }],
            color : ['#70c27f', '#2ea2d1', '#e06163'],
            textStyle : {
                fontSize : 13
            }
        }; //维护
        $scope.taskOption = {
            title : {
                text : '任务统计',
                x : 'center',
                textStyle : {
                    fontWeight : 'normal',
                },
            },
            tooltip : {
                trigger : 'axis',
                axisPointer : { // 坐标轴指示器，坐标轴触发有效
                    type : 'none' // 默认为直线，可选为：'line' | 'shadow'
                },
            },
            legend : {
                right : "3%",
                y : 'top',
                data : ['未完成', '已完成'],
            },
            grid : {
                left : '3%',
                right : '4%',
                bottom : '3%',
                containLabel : true
            },
            xAxis : [{
                type : 'category',
                data : ['巡查', '排放', '维护'],
            }],
            yAxis : [{
                type : 'value',
            }],
            series : [{
                name : '未完成',
                type : 'bar',
                data : [3, 0, 6],
                barWidth : 40,
            }, {
                name : '已完成',
                type : 'bar',
                data : [16, 2, 6],
                barWidth : 40,
            }],
            color : ['#e06163', '#70c27f'],
            textStyle : {
                fontSize : 13
            }
        }; //任务统计
        var timeData = [
            '本周',
            '本月',
            '本季度',
            '本年'
        ];
        $scope.mileageOption = {
            title : {
                text : '里程统计',
                x : 'center',
                textStyle : {
                    fontWeight : 'normal',
                },
            },
            tooltip : {
                trigger : 'axis',
                axisPointer : {
                    animation : false
                }
            },
            legend : {
                data : ['里程', '耗时'],
                right : "3%",
                y : 'top',
            },
            grid : [{
                left : 50,
                right : 50,
                height : '35%'
            }, {
                left : 50,
                right : 50,
                top : '55%',
                height : '35%'
            }],
            xAxis : [{
                type : 'category',
                boundaryGap : false,
                axisLine : {onZero : true},
                data : timeData
            }, {
                gridIndex : 1,
                type : 'category',
                boundaryGap : false,
                axisLine : {onZero : true},
                data : timeData,
                position : 'top'
            }],
            yAxis : [{
                name : '里程总数(公里)',
                type : 'value',
                max : 80
            }, {
                gridIndex : 1,
                name : '耗时(小时)',
                type : 'value',
                inverse : true,
                max : 10
            }],
            series : [{
                name : '里程',
                type : 'line',
                symbolSize : 8,
                hoverAnimation : false,
                data : [
                    0, 0, 0, 40
                ]
            }, {
                name : '耗时',
                type : 'line',
                xAxisIndex : 1,
                yAxisIndex : 1,
                symbolSize : 8,
                hoverAnimation : false,
                data : [
                    0, 0, 0, 6
                ]
            }],
            color : ['#2ea2d1', '#e06163'],
            textStyle : {
                fontSize : 13
            }
        } //里程统计
        $scope.getWeatherDate = function(){
            if($localStorage.citycode){
                citycode = $localStorage.citycode;
            } else {
                citycode = 101280601; //默认深圳
            }
            $http({
                url : 'http://service.envicloud.cn:8082/v2/weatherforecast/MTAZNDEWMJGWOTE0NZG4NDU1MZK4NJK=/' + citycode,
                method : 'GET'
            }).success(function(data, header, config, status){
                $scope.weatherData = data;
                var arr = $scope.weatherData.forecast;
                $scope.todayData = arr[0];
                arr.shift();
                $scope.futureData = arr;
            }).error(function(data, header, config, status){
                //处理响应失败
            });
        };
        $scope.getWeatherDate();
        $scope.cityObj = [];
        $scope.loadCitys = function($query){
            return $http.get('http://service.envicloud.cn:8082/v2/citycode/MTAZNDEWMJGWOTE0NZG4NDU1MZK4NJK=', {cache : true})
                .then(function(response){
                    var countries = response.data.info;
                    return countries.filter(function(country){
                        return country.cityname.indexOf($query) != -1;
                    });
                });
        };
        $scope.searchWeather = function(){
            var arr = $scope.cityObj;
            if(arr.length > 0){
                $scope.isShowInput = !$scope.isShowInput;
                $localStorage.citycode = arr[0].citycode;
                $scope.getWeatherDate();
            }
        }
    }
);
